home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 003 / pbase.arc / MAILLIST.PRG < prev    next >
Encoding:
Text File  |  1985-10-03  |  4.3 KB  |  138 lines

  1. * MAILLIST.PRG (10-03.a)
  2.  
  3. SWITCH TALK OFF
  4. RESET DATABASE
  5. RESET FORM
  6. DROP VARIABLE ALL
  7.  
  8. FORM TEXT 'First-Initial-Last:' AT  3  3
  9. FORM TEXT 'Mr/s:'        AT  3 53
  10. FORM TEXT 'Title:'        AT  5 16
  11. FORM TEXT 'Company:'        AT  6 14
  12. FORM TEXT 'Address Line 1:'    AT  8  7
  13. FORM TEXT 'Address Line 2:'    AT  9  7
  14. FORM TEXT 'City-State-Zip:'    AT 10  7
  15. FORM TEXT 'Phone:'        AT 12 16
  16. FORM TEXT 'Date:'        AT 12 38
  17. FORM TEXT 'User 1:'        AT 14 15
  18. FORM TEXT 'User 2:'        AT 15 15
  19. FORM FIELD mlname1 PICTURE 'A^^^^^^^^^^'    AT  3 23
  20. FORM FIELD mlname2 PICTURE 'A.>'        AT  3 35
  21. FORM FIELD mlname3 PICTURE 'A^^^^^^^^^^^^^'    AT  3 38
  22. FORM FIELD mlmrms  WIDTH 5            AT  3 59
  23. FORM FIELD mltitle WIDTH 30            AT  5 23
  24. FORM FIELD mlcomp  WIDTH 30            AT  6 23
  25. FORM FIELD mladdr1 WIDTH 30            AT  8 23
  26. FORM FIELD mladdr2 WIDTH 30            AT  9 23
  27. FORM FIELD mlcity  WIDTH 15            AT 10 23
  28. FORM FIELD mlstate PICTURE 'AA>'        AT 10 39
  29. FORM FIELD mlzip   WIDTH 10            AT 10 42
  30. FORM FIELD mlphone PICTURE '(###)###-####>'    AT 12 23
  31. FORM FIELD mldate  PICTURE '##/##/##>'        AT 12 44
  32. FORM FIELD mluser1 WIDTH 15            AT 14 23
  33. FORM FIELD mluser2 WIDTH 15            AT 15 23
  34.  
  35. DOWHILE true
  36.   CLEAR SCREEN
  37.   DOMENU
  38.     MENUTITLE '[ Mailing List Main Menu ]'
  39.     MENUOPTION 'Edit Records'
  40.     MENUOPTION 'Print Mailing Labels'
  41.     MENUOPTION 'Print Reports'
  42.     MENUOPTION 'Initialize Data Base'
  43.     MENUOPTION 'Backup "PUBS" table'
  44.     MENUOPTION 'Quit'
  45.     MENUCHOICE choice
  46.     ENDMENU
  47. ********** <edit> **********
  48.   DOCASE
  49.     CASE choice=1
  50.       CREATE CURSOR 1 FOR mail
  51.       USE CURSOR 1
  52.       editform pubs
  53.       DROP CURSOR 1
  54. ********** <print mailing labels> **********
  55.     CASE choice=2
  56.       CREATE CURSOR 1 FOR mail
  57.       USE CURSOR 1
  58.       SET PRINT TO PRINTER
  59.       SELECT mlname1,mlname3,mlmrms,mltitle,mlcomp,mladdr1,mladdr2,;
  60.     mlcity,mlstate,mlzip FROM pubs
  61.       TEMPLATE PRINT TOLBL
  62.       SELECT mluser1 FROM pubs
  63.       TEMPLATE PRINT FROMLBL
  64.       SELECT mlname1,mlname3,mlcomp,mluser1 FROM pubs
  65.       TEMPLATE PRINT FLOPLBL
  66.       DROP CURSOR 1
  67. ********** <print reports> **********
  68.     CASE choice=3
  69.       RESET REPORT
  70.       DOMENU
  71.     MENUTITLE '[ Report ORDER Specification ]'
  72.     MENUOPTION 'By NAME'
  73.     MENUOPTION 'BY ZIPCODE'
  74.     MENUOPTION 'By COMPANY'
  75.     MENUOPTION 'Return to Main Menu'
  76.     MENUCHOICE choice
  77.     ENDMENU
  78.       DOCASE
  79.     CASE choice=1
  80.       ASSIGN 'mlname3,mlname1,mlname2,mlzip' TO mlorder
  81.     CASE choice=2
  82.       ASSIGN 'mlzip,mlname3,mlname1,mlname2' TO mlorder
  83.     CASE choice=3
  84.       ASSIGN 'mlcomp,mlname3,mlname1,mlname2' TO mlorder
  85.     CASE choice=4
  86.       LOOP
  87.     ENDCASE
  88.       CREATE CURSOR 1 FOR mail
  89.       USE CURSOR 1
  90.       SELECT mlname1,mlname2,mlname3,mlmrms,mltitle,mlcomp,mladdr1,mladdr2,;
  91.     mlcity,mlstate,mlzip,mlphone,mldate,mluser1,mluser2 FROM pubs;
  92.     ORDER BY &mlorder
  93.       DOREPORT
  94.     REPORT OUTPUT
  95.       TO PRINTER
  96.       END
  97.     REPORT PAGE HEADING
  98.       PRINT SYSDATE SYSTIME TAB 25 'List of Contacts' TAB 50 'Page ' SYSPAGE SKIP 2
  99.       END
  100.     REPORT PAGE DETAIL
  101.       PRINT TAB 5 mlname3 ', ' mlname1 ' 'mlname2 TAB 40 mladdr1 SKIP
  102.       PRINT TAB 5 mltitle TAB 40 mladdr2 SKIP
  103.       PRINT TAB 5 mlcomp TAB 40 mlcity TAB 50 mlstate ' ' mlzip SKIP
  104.       PRINT TAB 5 mlphone PICTURE '(^^^)^^^-^^^^' TAB 20 mldate PICTURE '^^/^^/^^' SKIP
  105.       PRINT TAB 5 mluser1 TAB 25 mluser2 SKIP 2
  106.       END
  107.     ENDREPORT
  108.       DROP VARIABLE LIKE 'ml??????'
  109.       DROP CURSOR 1
  110. ********** <initialize> **********
  111.     CASE choice=4
  112.       IF ISYES('[ Are you sure? ]')
  113.     SHOW MESSAGE 'Creating data base "MAIL"'
  114.     CREATE DATABASE mail
  115.     SHOW MESSAGE 'Creating table "PUBS"'
  116.     CREATE CURSOR 1 FOR mail
  117.     USE CURSOR 1
  118.     CREATE TABLE pubs (mlname1 char(11),mlname2 char(1),mlname3 char(14),;
  119.       mlmrms char(5),mltitle char(30),mlcomp char(30),mladdr1 char(30),;
  120.       mladdr2 char(30),mlcity char(15),mlstate char(2),mlzip char(10),;
  121.       mlphone char(11),mldate char(6),mluser1 char(15),mluser2 char(15))
  122.     DROP CURSOR 1
  123.     ENDIF
  124. ********** <backup PUBS> **********
  125.     CASE choice=5
  126.       CREATE CURSOR 1 FOR mail
  127.       USE CURSOR 1
  128.       SELECT mlname1,mlname2,mlname3,mlmrms,mltitle,mlcomp,mladdr1,mladdr2,;
  129.     mlcity,mlstate,mlzip,mlphone,mldate,mluser1,mluser2 FROM pubs
  130.       EXPORT TO temp
  131.       DROP CURSOR 1
  132. ********** <fini> **********
  133.     CASE choice=6
  134.       DROP VARIABLE LIKE 'ml??????'
  135.       RETURN
  136.     ENDCASE
  137.   ENDWHILE
  138.